//
//  LYCollectionViewLayout.h
//  MyProject
//
//  Created by yun on 2018/7/9.
//  Copyright © 2018年 yun. All rights reserved.
//

#import <UIKit/UIKit.h>

@class LYCollectionViewLayout;

/**
 * 瀑布流默认是一个section
 */
@protocol LYCollectionViewLayoutDelegate <NSObject>

@required
/**
 * 返回item高度
 */
- (CGFloat)ly_collectionView:(UICollectionView *)collectionView layout:(LYCollectionViewLayout *)collectionViewLayout heightForItemAtIndexPath:(NSIndexPath *)indexPath itemWidth:(CGFloat)itemWidth;

@optional

/**
 * section的列数
 */
- (NSInteger)ly_collectionView:(UICollectionView *)collectionView layout:(LYCollectionViewLayout *)collectionViewLayout columnForSectionAtIndex:(NSInteger)section;

/**
 * section 列间距
 */
- (CGFloat)ly_collectionView:(UICollectionView *)collectionView layout:(LYCollectionViewLayout *)collectionViewLayout columnSpacingForSectionAtIndex:(NSInteger)section;

/**
 * section 行间距
 */
- (CGFloat)ly_collectionView:(UICollectionView *)collectionView layout:(LYCollectionViewLayout *)collectionViewLayout lineSpacingForSectionAtIndex:(NSInteger)section;

/**
 * 内边距
 */
- (UIEdgeInsets)ly_collectionView:(UICollectionView *)collectionView layout:(LYCollectionViewLayout *)collectionViewLayout edgeInsetForSectionAtIndex:(NSInteger)section;


@end

@interface LYCollectionViewLayout : UICollectionViewLayout

@property(nonatomic,weak) id<LYCollectionViewLayoutDelegate> delegate;

@end
